Data communication networks may include switches and routers coupled together to receive and forward data between each other. These devices will be referred to herein as “network elements.” A network element is generally not a consumer of the data, but rather is used to receive and forward data so that the data may pass through the network. Data is communicated through a network by enabling the network elements to pass protocol data units, such as frames or packets, between each other over communication links. A particular protocol data unit may be handled by multiple network elements and cross multiple communication links as it travels between its source and its destination over the network.
Long haul networks typically use optical links to transport data between the network elements. When a network element receives optical signals on an optical link, the network element may either convert the optical signals to electrical signals for processing, or may use an Optical Add Drop Multiplexers (OADM) to directly switch the optical signals from one optical fiber to another optical fiber. Optical cards are generally less expensive than cards which convert the optical signals to electrical signals, and thus it is often preferable to handle data optically when possible. OADMs may be statically configured or may be reconfigurable (ROADMs), so that the manner in which the node operates may be remotely changed.
The demand for optical resources may not be optimally met by an initial communication network design. Hence, particular links or areas of the network may experience congestion. Likewise, over time, congestion may develop as traffic patterns change. To alleviate congestion, it is common to create an express link to add a wavelength and, hence bandwidth, between a particular set of nodes. The express link may go one hop on the network or may be set up to extend through multiple hops on the network. Where the express link goes through an intermediate node, the intermediate node will optically forward the traffic using an OADM and treat the traffic as transient traffic. Express links are typically manually configured and provisioned, and then optically signaled to cause the nodes on the network to add the wavelength(s) for the express link.
FIG. 1 shows an example communication network 10. In this example, traffic that is flowing between nodes E and F will follow the top path (E, G, H, I, F) while traffic flowing between node A and F will follow the bottom path (A, B, C, D, F). If an express link 12 is added, as shown in FIG. 2, the new express link will be advertised by the network routing system so that all nodes will update the topology to reflect the new link. As the topology changes, this will cause the nodes to recalculate the paths through the network. For example, as shown in FIG. 2, when an express link is added between nodes A-D, this may cause traffic between nodes E and F to switch to follow path (E, A, D, F). Thus, when an express link is added to the network to alleviate congestion, it may in fact cause additional traffic to be re-routed toward the area of the network that is already experiencing congestion. One reason for this is that IP traffic and MPLS traffic will see the express link as a single hop in the routing tables, which may make the path over the express link shorter and, hence, preferable to another path through the network. This may cause some of the traffic to be diverted to traverse the newly added express link. Accordingly, rather than helping alleviate congestion, the addition of the express link may draw additional traffic to a congested area of the network.
FIG. 3 shows an example long haul network that may be implemented over a large geographic area, such as the United States. In FIG. 3, it will be assumed that the network has a high volume of traffic between Salt Lake City and St. Louis. To alleviate this congestion, as shown in FIG. 4, an express link may be created to carry traffic directly between Salt Lake City and St. Louis. Once this link is added, the other nodes on the network will recognize the new link, which will change the other traffic patterns. For example, inclusion of the new link can cause traffic on other links to increase dramatically, such as the link between Chicago and St. Louis, while causing the utilization of other links to decrease substantially. Indeed, it has been found that adding a link can affect many links of the network, even those which are geographically remote from the new express link.
Accordingly, although adding an express link can alleviate congestion, it also causes all of the traffic patterns on the network to change which can result in the creation of new congestion points. The congestion points may be located near the new link or very far away from the link on the network.
Thus, optimization of the network becomes an iterative process, in which as new links are added, the traffic patterns are adjusted to reveal new hot-spots, which then must be alleviated through the addition of other links. This process may be iterated several times. Additionally, it is possible that the resultant network design may not be the optimal network design, because each link is added serially. For example, when a first express link is added to alleviate one region of congestion, and then a second express link is added to alleviate a new area of congestion caused by addition of the first express link, the second express link may make the first link superfluous. Stated differently it may be that the first express link is no longer required because addition of the second express link may cause traffic to be re-routed away from the area of the first express link to thereby obviate the efficacy of the first express link. This interdependency of the various traffic flows and link loading makes addition of network capacity difficult to implement efficiently and effectively. Accordingly, it would be advantageous to provide a way to more effectively utilize express links to alleviate congestion in the network.